import request from "./index";

let myRequest = (function(){ // 匿名函数立即执行 利用闭包保存路径
    let hasRequestUrl = []
    return function (config){
        let url = config.url;// 请求地址
        // 如果存在
        if(hasRequestUrl.indexOf(url) !== -1){
            return Promise.reject({msg:'请求已提交'})
        }
        // 如果不存在 添加进去正常发送请求
        hasRequestUrl.push(url)
        return request({
            ...config
        }).then((res)=>{ // 请求成功需要删除掉这个url
            hasRequestUrl = hasRequestUrl.filter(item=>{
                if(item != url){
                    return item
                }
            })
            return res.data
        })
    }
})()

export {
    request as initRequset, // 不加功能前 作为 initRequset 暴露出去
    myRequest as request,// 封装的作为 request暴露出去
}
